<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // 利用js正则验证密码为6-12位 必须包含小写字母数字大写字母特殊字符.@_之一
        // let reg=/^(?=.*[A-Z])(?=.*[_@.])(?=.*[a-z])(?=.*\d)[A-Za-z0-9.@_]{8,}$/
        // 在大写字母小写字母数字复杂符号选择其中三个就算成功
        let reg = /^(?=(.*[A-Z]){0,})(?=(.*[a-z]){0,})(?=(.*\d){0,})(?=(.*[@_.]){0,})(?=(?:.*[A-Za-z0-9@_.]){8,})(?=(.*[A-Z].*[a-z].*\d|.*[A-Z].*\d.*[@_.]|.*[A-Z].*[a-z].*[@_.]|.*[a-z].*\d.*[@_.]))[A-Za-z0-9@_.]{8,}$/;
// ^(?=(.*[A-Z]){0,}) - 检查是否包含大写字母，可以包含也可以不包含。
// (?=(.*[a-z]){0,}) - 检查是否包含小写字母，可以包含也可以不包含。
// (?=(.*\d){0,}) - 检查是否包含数字，可以包含也可以不包含。
// (?=(.*[@_.]){0,}) - 检查是否包含特殊字符(@, _, .)，可以包含也可以不包含。
// (?=(?:.*[A-Za-z0-9@_.]){8,}) - 确保字符串长度至少为8。
// (?=(.*[A-Z].*[a-z].*\d|.*[A-Z].*\d.*[@_.]|.*[A-Z].*[a-z].*[@_.]|.*[a-z].*\d.*[@_.])) - 确保包含至少三种不同类型的字符（大写字母、小写字母、数字、特殊字符）中的三种。
      console.log(reg.test('Zzks925..'));
      console.log(reg.test('Zzks9255'));
      console.log(reg.test('zks9255..'));
      console.log(reg.test('ZKS9255..'));
      console.log(reg.test('Zks......'));
      console.log('---------------');
      console.log(reg.test('ZKS..'));
      console.log(reg.test('ZKS9255'));
      console.log(reg.test('zks..'));

    </script>
</body>
</html>